Pandas:使用特定列名过滤pandas dataframe |
您所在的位置:网站首页 › pandas df 过滤 › Pandas:使用特定列名过滤pandas dataframe |
Pandas:使用特定列名过滤pandas dataframe
在本文中,我们将介绍如何使用Python Pandas库中的特定列名来过滤Pandas dataframe,并提供具体的示例说明。 阅读更多:Pandas 教程 创建Pandas Dataframe首先,我们需要创建一个示例数据集,用于演示过滤数据的方法。下面是一个包含姓名、年龄、性别和工资的数据集: import pandas as pd data = { 'Name': ['Tom', 'George', 'Lucy', 'Simon', 'David'], 'Age': [27, 26, 25, 24, 23], 'Gender': ['M', 'M', 'F', 'M', 'M'], 'Salary': [4800, 5200, 4500, 4000, 3800] } df = pd.DataFrame(data) print(df)输出结果如下: Name Age Gender Salary 0 Tom 27 M 4800 1 George 26 M 5200 2 Lucy 25 F 4500 3 Simon 24 M 4000 4 David 23 M 3800此时,我们已经成功创建了一个包含4个列的Pandas dataframe。 使用loc方法过滤列在Python Pandas库中,我们可以使用loc方法来定位并过滤特定的列。loc方法可以根据行和列的标签来选择数据。下面是一个演示如何使用loc方法来选择Salary列的示例: import pandas as pd data = { 'Name': ['Tom', 'George', 'Lucy', 'Simon', 'David'], 'Age': [27, 26, 25, 24, 23], 'Gender': ['M', 'M', 'F', 'M', 'M'], 'Salary': [4800, 5200, 4500, 4000, 3800] } df = pd.DataFrame(data) salary_col = df.loc[:, 'Salary'] print(salary_col)输出结果如下: 0 4800 1 5200 2 4500 3 4000 4 3800 Name: Salary, dtype: int64可以看到,只有Salary列被选择出来了,其他三列被过滤掉了。 使用filter方法过滤列除了loc方法外,Python Pandas库还提供了filter方法来过滤列。使用filter方法可以筛选出数据集中所需的列,类似于SQL语句中的SELECT语句。下面是一个演示如何使用filter方法来选择Salary列的示例: import pandas as pd data = { 'Name': ['Tom', 'George', 'Lucy', 'Simon', 'David'], 'Age': [27, 26, 25, 24, 23], 'Gender': ['M', 'M', 'F', 'M', 'M'], 'Salary': [4800, 5200, 4500, 4000, 3800] } df = pd.DataFrame(data) salary_col = df.filter(items=['Salary']) print(salary_col)输出结果如下: Salary 0 4800 1 5200 2 4500 3 4000 4 3800可以看到,只有Salary列被筛选出来了,其他三列被过滤掉了。 除了使用items参数来指定需要筛选的列外,我们还可以使用like参数来根据列名的部分匹配来筛选列。下面是一个使用like参数来筛选名字中包含M的列的示例: import pandas as pd data = { 'Name': ['Tom', 'George', 'Lucy', 'Simon', 'David'], 'Age': [27, 26, 25, 24, 23], 'Gender': ['M', 'M', 'F', 'M', 'M'], 'Salary': [4800, 5200, 4500, 4000, 3800] } df = pd.DataFrame(data) name_col = df.filter(like='M', axis=1) print(name_col)输出结果如下: Name Gender 0 Tom M 1 George M 2 Lucy F 3 Simon M 4 David M可以看到,只有Name和Gender列中包含M的列被筛选出来了。 使用drop方法删除列除了过滤列,我们还可以使用drop方法删除不需要的列。下面是一个演示如何使用drop方法删除Age列的示例: import pandas as pd data = { 'Name': ['Tom', 'George', 'Lucy', 'Simon', 'David'], 'Age': [27, 26, 25, 24, 23], 'Gender': ['M', 'M', 'F', 'M', 'M'], 'Salary': [4800, 5200, 4500, 4000, 3800] } df = pd.DataFrame(data) df = df.drop(['Age'], axis=1) print(df)输出结果如下: Name Gender Salary 0 Tom M 4800 1 George M 5200 2 Lucy F 4500 3 Simon M 4000 4 David M 3800可以看到,Age列已经被删除了。 总结Python Pandas库提供了多种方法来过滤Pandas dataframe中的特定列。使用loc和filter方法可以直接选择需要的列,而使用drop方法可以删除不需要的列。在实际使用过程中,可以根据具体需要选择合适的方法来处理数据集。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |